// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.nostra13.universalimageloader.cache.disc.impl; import android.graphics.Bitmap; import com.nostra13.universalimageloader.cache.disc.DiskCache; import com.nostra13.universalimageloader.cache.disc.naming.FileNameGenerator; import com.nostra13.universalimageloader.core.DefaultConfigurationFactory; import com.nostra13.universalimageloader.utils.IoUtils; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; public abstract class BaseDiscCache implements DiskCache { public static final int DEFAULT_BUFFER_SIZE = 32768; public static final android.graphics.Bitmap.CompressFormat DEFAULT_COMPRESS_FORMAT; public static final int DEFAULT_COMPRESS_QUALITY = 100; private static final String a = " argument must be not null"; private static final String b = ".tmp"; protected int bufferSize; protected final File cacheDir; protected android.graphics.Bitmap.CompressFormat compressFormat; protected int compressQuality; protected final FileNameGenerator fileNameGenerator; protected final File reserveCacheDir; public BaseDiscCache(File file) { this(file, null); } public BaseDiscCache(File file, File file1) { this(file, file1, DefaultConfigurationFactory.createFileNameGenerator()); } public BaseDiscCache(File file, File file1, FileNameGenerator filenamegenerator) { bufferSize = 32768; compressFormat = DEFAULT_COMPRESS_FORMAT; compressQuality = 100; if (file == null) { throw new IllegalArgumentException("cacheDir argument must be not null"); } if (filenamegenerator == null) { throw new IllegalArgumentException("fileNameGenerator argument must be not null"); } else { cacheDir = file; reserveCacheDir = file1; fileNameGenerator = filenamegenerator; return; } } public void clear() { File afile[] = cacheDir.listFiles(); if (afile != null) { int i = afile.length; for (int j = 0; j < i; j++) { afile[j].delete(); } } } public void close() { } public File get(String s) { return getFile(s); } public File getDirectory() { return cacheDir; } protected File getFile(String s) { String s1 = fileNameGenerator.generate(s); File file = cacheDir; if (!cacheDir.exists() && !cacheDir.mkdirs() && reserveCacheDir != null && (reserveCacheDir.exists() || reserveCacheDir.mkdirs())) { file = reserveCacheDir; } return new File(file, s1); } public boolean remove(String s) { return getFile(s).delete(); } public boolean save(String s, Bitmap bitmap) { File file; File file1; BufferedOutputStream bufferedoutputstream; file = getFile(s); file1 = new File((new StringBuilder()).append(file.getAbsolutePath()).append(".tmp").toString()); bufferedoutputstream = new BufferedOutputStream(new FileOutputStream(file1), bufferSize); boolean flag = bitmap.compress(compressFormat, compressQuality, bufferedoutputstream); boolean flag1 = flag; IoUtils.closeSilently(bufferedoutputstream); if (flag1 && !file1.renameTo(file)) { flag1 = false; } if (!flag1) { file1.delete(); } bitmap.recycle(); return flag1; Exception exception; exception; IoUtils.closeSilently(bufferedoutputstream); file1.delete(); throw exception; } public boolean save(String s, InputStream inputstream, com.nostra13.universalimageloader.utils.IoUtils.CopyListener copylistener) { File file; File file1; file = getFile(s); file1 = new File((new StringBuilder()).append(file.getAbsolutePath()).append(".tmp").toString()); BufferedOutputStream bufferedoutputstream = new BufferedOutputStream(new FileOutputStream(file1), bufferSize); boolean flag1 = IoUtils.copyStream(inputstream, bufferedoutputstream, copylistener, bufferSize); boolean flag = flag1; IoUtils.closeSilently(bufferedoutputstream); IoUtils.closeSilently(inputstream); if (flag && !file1.renameTo(file)) { flag = false; } if (!flag) { file1.delete(); } return flag; Exception exception; exception; IoUtils.closeSilently(bufferedoutputstream); throw exception; Exception exception1; exception1; flag = false; _L2: IoUtils.closeSilently(inputstream); if (flag && !file1.renameTo(file)) { flag = false; } if (!flag) { file1.delete(); } throw exception1; exception1; if (true) goto _L2; else goto _L1 _L1: } public void setBufferSize(int i) { bufferSize = i; } public void setCompressFormat(android.graphics.Bitmap.CompressFormat compressformat) { compressFormat = compressformat; } public void setCompressQuality(int i) { compressQuality = i; } static { DEFAULT_COMPRESS_FORMAT = android.graphics.Bitmap.CompressFormat.PNG; } }